package com.jelly.common.util.upload;

import com.jelly.common.util.StringUtils;
import org.springframework.util.ResourceUtils;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

/**
 * @创建人 ql
 * @创建时间 2018-10-18 09:44
 * @项目名称 jelly
 * @功能描述: 上传工具类
 **/
public class UploadUtil {


    /**
     * 上传
     * @param file
     * @param path
     * @return
     */
    public static String uploadFile(MultipartFile file , String path,String type) throws IOException {

        //上传文件的真实名称
        String name = file.getOriginalFilename();

        if (StringUtils.isBlank(path)){
            path = new File(ResourceUtils.getURL("classpath:static").getPath()).toString();
        }

        // 先判断文件是否存在
        path = path+"/"+getcontentType(type);
        File file1 = new File(path);
        // 如果文件夹不存在则创建
        if (!file1.exists() && !file1.isDirectory()) {
            file1.mkdir();
        }
        File targetFile = new File(file1, name);
        file.transferTo(targetFile);
        return getcontentType(type)+name;
    }

    /**
     * 文件上传时文件的contentType
     * @param type 类型 (user:用户头像)
     * @return
     */
    public static String getcontentType(String type) {
        if ("user".equals(type)) {
            return "image/user-info/";
        }
        return "image/common/";
    }

}
